/**
 * 响应拦截
 * @param {Object} http 
 */
module.exports = (vm) => {
	uni.$u.http.interceptors.response.use((response) => {
		/* 对响应成功做点什么 可使用async await 做异步操作*/
		// 关闭加载中
		uni.hideLoading()
		const data = response.data;
		// 自定义参数
		const custom = response.config?.custom
		if (data.code !== 0) {
			if (data.code == 40001 || data.code  == 40002) {
				//跳到登录授权页面
				uni.setStorageSync('userInfo', '')
				vm.$u.toast("用户token失效，请重新授权");
				setTimeout(() => {
					console.log('跳转')
					uni.reLaunch({
						url: '/pages/home/login/index'
					})
				}, 1000)
				return Promise.reject(data.message)
			}
			setTimeout(() => {
				vm.$u.toast(data.message);
				return Promise.reject(data.message)
			}, 200)
			// 如果没有显式定义custom的toast参数为false的话，默认对报错进行toast弹出提示
		}
		return data;
	}, (response) => {
		
		/*  对响应错误做点什么 （statusCode !== 200）*/
		if (response.statusCode == 40001 || response.statusCode == 40002) {
			//跳到登录授权页面
			uni.setStorageSync('userInfo', '')
			vm.$u.toast("用户token失效，请重新授权");
			setTimeout(() => {
				console.log('跳转')
				uni.reLaunch({
					url: '/pages/home/login/index'
				})
			}, 1000)

		} else {
			vm.$u.toast("网络丢失");
			// 关闭加载中
			uni.hideLoading()
			return Promise.reject(response)
		}
	})
}
